package cn.fl.infside.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.infside.vo.InfWarrantProjectVO;
import fl.inf.facade.dto.InfWarrantProjectDTO;

/**
 * @Description: 权证系统项目接口表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class InfWarrantProjectVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto InfWarrantProjectDTO
	 * @return InfWarrantProjectVO
	 */
	public static InfWarrantProjectVO toVO(InfWarrantProjectDTO dto) {
		InfWarrantProjectVO  vo = null;
		if (dto != null) { 
			vo = new InfWarrantProjectVO();
			vo.setId(dto.getId());
			vo.setProjectId(dto.getProjectId());//PROJECT_ID
			vo.setProjectCode(dto.getProjectCode());//项目编号
			vo.setProjectName(dto.getProjectName());//项目名称
			vo.setProjectNature(dto.getProjectNature());//项目性质
			vo.setProjectType(dto.getProjectType());//项目类型
			vo.setCustomerId(dto.getCustomerId());//所属客户ID
			vo.setCustomerName(dto.getCustomerName());//所属客户名称
			vo.setCustomerType(dto.getCustomerType());//所属客户类型
			vo.setOrgNo(dto.getOrgNo());//所属事业部
			vo.setProvincialCompany(dto.getProvincialCompany());//省公司
			vo.setBusinessType(dto.getBusinessType());//业务类型
			vo.setContractPayment(dto.getContractPayment());//合同总款
			vo.setOpFlag(dto.getOpFlag());//操作标识
			vo.setStatus(dto.getStatus());//响应状态
			vo.setMessage(dto.getMessage());//响应信息
			vo.setMaritalStatus(dto.getMaritalStatus());//客户婚姻状态
			vo.setCustManageId(dto.getCustManageId());//客户经理ID
			vo.setCustManageCode(dto.getCustManageCode());//客户经理编号
			vo.setGuarantorFlag(dto.getGuarantorFlag());//担保人标识 1-有担保人 2-无担保人
			vo.setGuarantorType(dto.getGuarantorType());//担保人类型

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo InfWarrantProjectVO
	 * @return InfWarrantProjectDTO
	 */
	public static InfWarrantProjectDTO toDTO(InfWarrantProjectVO vo) {
		InfWarrantProjectDTO dto = null;
		if (vo != null) {
			dto = new InfWarrantProjectDTO();
			dto.setId(vo.getId());
			dto.setProjectId(vo.getProjectId());//PROJECT_ID
			dto.setProjectCode(vo.getProjectCode());//项目编号
			dto.setProjectName(vo.getProjectName());//项目名称
			dto.setProjectNature(vo.getProjectNature());//项目性质
			dto.setProjectType(vo.getProjectType());//项目类型
			dto.setCustomerId(vo.getCustomerId());//所属客户ID
			dto.setCustomerName(vo.getCustomerName());//所属客户名称
			dto.setCustomerType(vo.getCustomerType());//所属客户类型
			dto.setOrgNo(vo.getOrgNo());//所属事业部
			dto.setProvincialCompany(vo.getProvincialCompany());//省公司
			dto.setBusinessType(vo.getBusinessType());//业务类型
			dto.setContractPayment(vo.getContractPayment());//合同总款
			dto.setOpFlag(vo.getOpFlag());//操作标识
			dto.setStatus(vo.getStatus());//响应状态
			dto.setMessage(vo.getMessage());//响应信息
			dto.setMaritalStatus(vo.getMaritalStatus());//客户婚姻状态
			dto.setCustManageId(vo.getCustManageId());//客户经理ID
			dto.setCustManageCode(vo.getCustManageCode());//客户经理编号
			dto.setGuarantorFlag(vo.getGuarantorFlag());//担保人标识 1-有担保人 2-无担保人
			dto.setGuarantorType(vo.getGuarantorType());//担保人类型

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<InfWarrantProjectDTO>
	 * @return List<InfWarrantProjectVO>
	 */
	public static List<InfWarrantProjectVO> toVOList(List<InfWarrantProjectDTO> list) {
		List<InfWarrantProjectVO>  voList = new ArrayList<InfWarrantProjectVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (InfWarrantProjectDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<InfWarrantProjectVO>
	 * @return List<InfWarrantProjectDTO>
	 */
	public static List<InfWarrantProjectDTO> toDTOList(List<InfWarrantProjectVO> list) {
		List<InfWarrantProjectDTO>  dtoList = new ArrayList<InfWarrantProjectDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (InfWarrantProjectVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
